package com.itheima.service;


import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import com.itheima.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

public class UserService {
    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();

    /**
     * 登录方法
     *
     * @param username 用户名
     * @param password 密码
     * @return 登录成功返回用户信息，登录失败返回null
     */
    public User login(String username, String password) {
        // 2.获取SqlSession
        SqlSession sqlSession = factory.openSession();
        // 3.获取UserMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        // 4.调用方法
        User user = mapper.select(username, password);

        // 5.释放资源
        sqlSession.close();

        return user;

    }

    /**
     * 注册方法
     *
     * @return 注册成功返回true，注册失败返回false
     */
    public boolean register(User user) {
        // 2.获取SqlSession
        SqlSession sqlSession = factory.openSession();
        // 3.获取UserMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        // 4.判断用户名是否存在
        User u = mapper.selectByUsername(user.getUsername());
        if (u == null) {
            // 用户名不存在，注册
            mapper.add(user);
            sqlSession.commit();
        }
        sqlSession.close();
        return u == null;
    }
}
